package com.yanfan.access.domain;

import java.util.Date;

import com.alibaba.fastjson2.JSONObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yanfan.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.FieldFill;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 通道信息对象 nj_access_channel_info
 *
 * @author genluo
 * @date 2024-10-30
 */

@Data
public class NjAccessChannelInfo implements Serializable{

private static final long serialVersionUID=1L;

    /**
     * 通道名称
     */
    @Excel(name = "通道名称")
    private String channelName;

    /**
     * 通道序号
     */
    @Excel(name = "通道序号")
    private Long channelSeq;

    /**
     * 通道序列号
     */
    @Excel(name = "通道序列号")
    private String channelSn;

    /**
     * 所属单位编码
     */
    @Excel(name = "所属单位编码")
    private String ownerCode;

    @TableField(exist = false)
    private JSONObject chExt;

    /**
     * 通道编码
     */
    @Excel(name = "通道编码")
    @TableId(value = "channel_code" , type = IdType.ASSIGN_ID) // 字符串类型使用雪花算法
    private String channelCode;

    /**
     * 通道状态标识
     */
    @Excel(name = "通道状态标识")
    private Long stat;

    /**
     * 在线状态，0-离线，1-在线
     */
    @Excel(name = "在线状态，0-离线，1-在线")
    private Integer isOnline;

    /**
     * 在线状态更新时间
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "在线状态更新时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date onlineUpdateTime;

    /**
     * 在线状态更新版本号
     */
    @Excel(name = "在线状态更新版本号")
    private Long onlineUpdateVersion;

    /**
     * 是否为虚拟通道，0-否，1-是
     */
    @Excel(name = "是否为虚拟通道，0-否，1-是")
    private Integer isVirtual;

    /**
     * 更新时间（时间戳）
     */
    @Excel(name = "更新时间（时间戳）")
    private Long updateTime;

    /**
     * 创建时间（时间戳）
     */
    @Excel(name = "创建时间（时间戳）")
    private Long createTime;

    /**
     * 通道排序编号
     */
    @Excel(name = "通道排序编号")
    private Long treeSort;


}
